﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F33 RID: 3891
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMagicGameScepterInfo : IMessage<RogueMagicGameScepterInfo>, IMessage, IEquatable<RogueMagicGameScepterInfo>, IDeepCloneable<RogueMagicGameScepterInfo>, IBufferMessage
	{
		// Token: 0x17003173 RID: 12659
		// (get) Token: 0x0600AEA2 RID: 44706 RVA: 0x001D885F File Offset: 0x001D6A5F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMagicGameScepterInfo> Parser
		{
			get
			{
				return RogueMagicGameScepterInfo._parser;
			}
		}

		// Token: 0x17003174 RID: 12660
		// (get) Token: 0x0600AEA3 RID: 44707 RVA: 0x001D8866 File Offset: 0x001D6A66
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMagicGameScepterInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003175 RID: 12661
		// (get) Token: 0x0600AEA4 RID: 44708 RVA: 0x001D8878 File Offset: 0x001D6A78
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMagicGameScepterInfo.Descriptor;
			}
		}

		// Token: 0x0600AEA5 RID: 44709 RVA: 0x001D887F File Offset: 0x001D6A7F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameScepterInfo()
		{
		}

		// Token: 0x0600AEA6 RID: 44710 RVA: 0x001D88A8 File Offset: 0x001D6AA8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameScepterInfo(RogueMagicGameScepterInfo other) : this()
		{
			this.scepterDressInfo_ = other.scepterDressInfo_.Clone();
			this.lockedMagicUnitList_ = other.lockedMagicUnitList_.Clone();
			this.modifierContent_ = ((other.modifierContent_ != null) ? other.modifierContent_.Clone() : null);
			this.trenchCount_ = other.trenchCount_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600AEA7 RID: 44711 RVA: 0x001D891B File Offset: 0x001D6B1B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicGameScepterInfo Clone()
		{
			return new RogueMagicGameScepterInfo(this);
		}

		// Token: 0x17003176 RID: 12662
		// (get) Token: 0x0600AEA8 RID: 44712 RVA: 0x001D8923 File Offset: 0x001D6B23
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueMagicScepterDressInfo> ScepterDressInfo
		{
			get
			{
				return this.scepterDressInfo_;
			}
		}

		// Token: 0x17003177 RID: 12663
		// (get) Token: 0x0600AEA9 RID: 44713 RVA: 0x001D892B File Offset: 0x001D6B2B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueMagicGameUnit> LockedMagicUnitList
		{
			get
			{
				return this.lockedMagicUnitList_;
			}
		}

		// Token: 0x17003178 RID: 12664
		// (get) Token: 0x0600AEAA RID: 44714 RVA: 0x001D8933 File Offset: 0x001D6B33
		// (set) Token: 0x0600AEAB RID: 44715 RVA: 0x001D893B File Offset: 0x001D6B3B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicScepter ModifierContent
		{
			get
			{
				return this.modifierContent_;
			}
			set
			{
				this.modifierContent_ = value;
			}
		}

		// Token: 0x17003179 RID: 12665
		// (get) Token: 0x0600AEAC RID: 44716 RVA: 0x001D8944 File Offset: 0x001D6B44
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MapField<uint, uint> TrenchCount
		{
			get
			{
				return this.trenchCount_;
			}
		}

		// Token: 0x0600AEAD RID: 44717 RVA: 0x001D894C File Offset: 0x001D6B4C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMagicGameScepterInfo);
		}

		// Token: 0x0600AEAE RID: 44718 RVA: 0x001D895C File Offset: 0x001D6B5C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMagicGameScepterInfo other)
		{
			return other != null && (other == this || (this.scepterDressInfo_.Equals(other.scepterDressInfo_) && this.lockedMagicUnitList_.Equals(other.lockedMagicUnitList_) && object.Equals(this.ModifierContent, other.ModifierContent) && this.TrenchCount.Equals(other.TrenchCount) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600AEAF RID: 44719 RVA: 0x001D89DC File Offset: 0x001D6BDC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.scepterDressInfo_.GetHashCode();
			num ^= this.lockedMagicUnitList_.GetHashCode();
			if (this.modifierContent_ != null)
			{
				num ^= this.ModifierContent.GetHashCode();
			}
			num ^= this.TrenchCount.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600AEB0 RID: 44720 RVA: 0x001D8A42 File Offset: 0x001D6C42
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600AEB1 RID: 44721 RVA: 0x001D8A4A File Offset: 0x001D6C4A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600AEB2 RID: 44722 RVA: 0x001D8A54 File Offset: 0x001D6C54
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			this.lockedMagicUnitList_.WriteTo(ref output, RogueMagicGameScepterInfo._repeated_lockedMagicUnitList_codec);
			this.scepterDressInfo_.WriteTo(ref output, RogueMagicGameScepterInfo._repeated_scepterDressInfo_codec);
			if (this.modifierContent_ != null)
			{
				output.WriteRawTag(82);
				output.WriteMessage(this.ModifierContent);
			}
			this.trenchCount_.WriteTo(ref output, RogueMagicGameScepterInfo._map_trenchCount_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600AEB3 RID: 44723 RVA: 0x001D8AC4 File Offset: 0x001D6CC4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.scepterDressInfo_.CalculateSize(RogueMagicGameScepterInfo._repeated_scepterDressInfo_codec);
			num += this.lockedMagicUnitList_.CalculateSize(RogueMagicGameScepterInfo._repeated_lockedMagicUnitList_codec);
			if (this.modifierContent_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.ModifierContent);
			}
			num += this.trenchCount_.CalculateSize(RogueMagicGameScepterInfo._map_trenchCount_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600AEB4 RID: 44724 RVA: 0x001D8B3C File Offset: 0x001D6D3C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMagicGameScepterInfo other)
		{
			if (other == null)
			{
				return;
			}
			this.scepterDressInfo_.Add(other.scepterDressInfo_);
			this.lockedMagicUnitList_.Add(other.lockedMagicUnitList_);
			if (other.modifierContent_ != null)
			{
				if (this.modifierContent_ == null)
				{
					this.ModifierContent = new RogueMagicScepter();
				}
				this.ModifierContent.MergeFrom(other.ModifierContent);
			}
			this.trenchCount_.MergeFrom(other.trenchCount_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600AEB5 RID: 44725 RVA: 0x001D8BC3 File Offset: 0x001D6DC3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600AEB6 RID: 44726 RVA: 0x001D8BCC File Offset: 0x001D6DCC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 66U)
				{
					if (num == 50U)
					{
						this.lockedMagicUnitList_.AddEntriesFrom(ref input, RogueMagicGameScepterInfo._repeated_lockedMagicUnitList_codec);
						continue;
					}
					if (num == 66U)
					{
						this.scepterDressInfo_.AddEntriesFrom(ref input, RogueMagicGameScepterInfo._repeated_scepterDressInfo_codec);
						continue;
					}
				}
				else
				{
					if (num == 82U)
					{
						if (this.modifierContent_ == null)
						{
							this.ModifierContent = new RogueMagicScepter();
						}
						input.ReadMessage(this.ModifierContent);
						continue;
					}
					if (num == 122U)
					{
						this.trenchCount_.AddEntriesFrom(ref input, RogueMagicGameScepterInfo._map_trenchCount_codec);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x040046CC RID: 18124
		private static readonly MessageParser<RogueMagicGameScepterInfo> _parser = new MessageParser<RogueMagicGameScepterInfo>(() => new RogueMagicGameScepterInfo());

		// Token: 0x040046CD RID: 18125
		private UnknownFieldSet _unknownFields;

		// Token: 0x040046CE RID: 18126
		public const int ScepterDressInfoFieldNumber = 8;

		// Token: 0x040046CF RID: 18127
		private static readonly FieldCodec<RogueMagicScepterDressInfo> _repeated_scepterDressInfo_codec = FieldCodec.ForMessage<RogueMagicScepterDressInfo>(66U, RogueMagicScepterDressInfo.Parser);

		// Token: 0x040046D0 RID: 18128
		private readonly RepeatedField<RogueMagicScepterDressInfo> scepterDressInfo_ = new RepeatedField<RogueMagicScepterDressInfo>();

		// Token: 0x040046D1 RID: 18129
		public const int LockedMagicUnitListFieldNumber = 6;

		// Token: 0x040046D2 RID: 18130
		private static readonly FieldCodec<RogueMagicGameUnit> _repeated_lockedMagicUnitList_codec = FieldCodec.ForMessage<RogueMagicGameUnit>(50U, RogueMagicGameUnit.Parser);

		// Token: 0x040046D3 RID: 18131
		private readonly RepeatedField<RogueMagicGameUnit> lockedMagicUnitList_ = new RepeatedField<RogueMagicGameUnit>();

		// Token: 0x040046D4 RID: 18132
		public const int ModifierContentFieldNumber = 10;

		// Token: 0x040046D5 RID: 18133
		private RogueMagicScepter modifierContent_;

		// Token: 0x040046D6 RID: 18134
		public const int TrenchCountFieldNumber = 15;

		// Token: 0x040046D7 RID: 18135
		private static readonly MapField<uint, uint>.Codec _map_trenchCount_codec = new MapField<uint, uint>.Codec(FieldCodec.ForUInt32(8U, 0U), FieldCodec.ForUInt32(16U, 0U), 122U);

		// Token: 0x040046D8 RID: 18136
		private readonly MapField<uint, uint> trenchCount_ = new MapField<uint, uint>();
	}
}
